1. Technical Field
The present invention relates to a method and a device for decoding a low-density parity check code and an optical information reproducing apparatus using the device.
2. Related Art
Examples of an optical information processing apparatus can include a compact disc (CD), a digital versatile disc (DVD), a high definition DVD (HD-DVD), a blue-ray(BD), and a near-field optical information processing apparatus. With recent increase in requirement for a next-generation storage system having a large storage capacity, volume holography has attracted attentions.
Volume holography has been developed for achieving high density optical recording and high data transmission rate. The volume holography is a method in which the interference patterns are written tree-dimensionally by actively utilizing the thickness direction of the recoding medium. Since the volume holography can employ a parallel signal processing operation for input and output of data, it is possible to basically enhance a data transmission rate in comparison with the CD and the DVD. In addition, it is possible to drastically enhance the recording density by using a multiplexing technique.
In recording information onto a recording medium using holography, an information beam carrying image information and a reference beam overlap each other in the recording medium and an interference pattern generated thereby is written onto the recording medium. For reproducing the recorded information, the reference beam is irradiated onto the recording medium so as to reproduce image information by diffraction in the interference pattern.
An image of a data page reproduced from the reproducing beam is detected by a light receiving array device such as a complementary metal-oxide semiconductor (CMOS) device or a charge-coupled device (CCD). The detected image of a data page is restored to original data through a series of signal processing and decoding processes.
When detecting the image of a data page, errors can often occur due to variations in characteristics resulting from contraction or rotation of the recording medium. For example, image pixels of a data page (hereinafter, referred to as “data pixels”) and pixels of the light receiving array device (hereinafter, referred to as “detection pixels”) may not be matched with each other due to misalignment therebetween. This error may increase a bit error rate (BER).
A variety of error correcting codes such as a Reed-Solomon code has been proposed so as to lower the BER. In recent years, a low-density parity check (LDPC) code having a performance almost equal to Shannon's channel capacity limit had attracted attentions.
The LDPC code is a linear block code in which most elements of a parity check matrix is zero. In a general parity check code, a block of information symbols and parity check symbols which are modulo sum of specific information symbols forms a code word. A relation between the check symbols and the information symbols can be expressed by a parity check matrix H. The parity check matrix H can be expressed as a set of linear homogeneous equations. The LDPC code is a kind of a parity check code and is a code having the parity check matrix H having most elements of 0 and a small number of randomly distributed weights.
A process of encoding an LDPC code having the parity check matrix H is as follows. A generator matrix G corresponding to the matrix H is obtained using a relation GHT=0. The code word C corresponding to an information symbol block X is obtained by C=XG. Decoding an LDPC code is to find out a code word, the product of which by the parity check matrix H is closest to “0” in probability, from a received signal symbol. A sum-product algorithm among the methods of decoding an LDPC code is a soft-decision iterative decoding operation using probability. The sum-product algorithm is to iteratively decode an LDPC code so as to converge to a code word satisfying the maximum likelihood condition while giving and taking a message of probability in a graph of the code between nodes.
A log-likelihood ratio belief propagation (LLR-BP) using an LLR is known as another method of decoding an LDPC code. Hereinafter, the LLR-BP algorithm will be described.
Assuming that a code word is denoted by c, a transmitted signal is denoted by x, a received signal is denoted by y, and a noise of a channel is denoted by n, y−[yn]−x+n is obtained. The code word c=(c1, c2, . . . , cN) is mapped to the transmitted signal x=(x1, x2, . . . , xN). The decoding process is a process of obtaining a signal in which the probability of the code word with respect to the received signal is the maximum. The decoding process is a process of obtaining a code word ĉ in which the value of P(ĉ|y) is the maximum.
The size of the parity check matrix H is M×N and can be expressed as H=[h(m,n)]. A set of bit nodes participating in the m-th check node is expressed by N(m)={n|h(m,n)=1}. Similarly, a set of check nodes participating in the n-th bit node is expressed by M(n)={m|h(m,n)=1}. The magnitudes of the sets N(m) and M(n) are expressed by |N(m)| and |M(n)|. N(m)\n denotes N(m) from which the n-th bit node is excluded, and M(n)\m denotes M(n) from which the m-th check node is excluded.
Notations used for the iterative decoding algorithm are as follows.
Fn denotes an LLR of the n-th bit node obtained from the received signal yn.
Zmn denotes an LLR of the n-th bit node from the n-th bit node toward the m-th check node.
zn denotes a posterior LLR of the n-th bit node obtained from each iteration.
Lmn denotes an LLR of the n-th bit node from the m-th check node toward the n-th bit node.
(1) Initialization
As for the respective m and n, an initialization process using the following equation is performed.
      z    mn    =            F      n        =          log      ⁢                        P          ⁡                      (                                          c                n                            =                              1                |                y                                      )                                    P          ⁡                      (                                          c                n                            =                              0                |                y                                      )                              
(2) Iterative Decoding in Row Direction
As for the respective m and n, the followings are defined.
            T      mn        =                  ∏                              n            ′                    ∈                                    N              ⁡                              (                m                )                                      ⁢            \            ⁢                                                  ⁢            n                              ⁢                          ⁢                        1          -                      exp            ⁡                          (                              z                                  m                  ⁢                                                                          ⁢                                      n                    ′                                                              )                                                1          +                      exp            ⁡                          (                              z                                  m                  ⁢                                                                          ⁢                                      n                    ′                                                              )                                                      L      mn        =          ln      ⁡              (                              1            -                          T              mn                                            1            +                          T              mn                                      )            
(3) Iterative Decoding in Column Direction
As for the respective m and n, the followings are defined.
            z      mn        =                  F        n            +                        ∑                                    m              ′                        ∈                                          M                ⁡                                  (                  n                  )                                            ⁢              \              ⁢                                                          ⁢              m                                      ⁢                                  ⁢                  L                                    m              ′                        ⁢            n                                          z      n        =                  F        n            +                        ∑                      m            ∈                          M              ⁡                              (                n                )                                                    ⁢                                  ⁢                  L          mn                    
(4) Temporary Decodingĉ=[ĉ{circumflex over (cn)}]is determined as follows.ĉ{circumflex over (cn)}=1 if zn≧0ĉ{circumflex over (cn)}=0 if zn<0
If ĉHT=0, the decoding process is stopped and ĉ is determined as a correct decoding result. If ĉHT≠0 and the decoding process is not reached the maximum iteration number, the processes from (2) are iteratively performed. If ĉHT≠0 and the decoding process is reached the maximum iteration number, the decoding processes is stopped and the failure of decoding is notified.
In the holographic optical information processing apparatus, two-dimensional inter-symbol interference can often occur due to the misalignment between the light receiving array device and the image of a data page. Accordingly, a method of decoding an LDPC code with improved BER has been required.